﻿/*********************************************************
 * 开发人员：小兵
 * 创建时间：2012-10-8 17:04:02
 * 描述说明：
 * 
 * 更改历史：
 * 
 * *******************************************************/
namespace Mozlite.Data.Components.Installer
{
    using System;
    using System.Web;
    using System.Data;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;


    /// <summary>
    /// 版本唯一识别辅助类。
    /// </summary>
    public struct VersionSpecification
    {
        /// <summary>
        /// 用于执行的SQL语句。
        /// </summary>
        public readonly string Sql;

        /// <summary>
        /// 影响执行的行数。
        /// </summary>
        public readonly int ExpectedRows;

        /// <summary>
        /// 包含该列的最低版本。
        /// </summary>
        public readonly DatabaseVersion Version;

        /// <summary>
        /// 初始化结构<see cref="VersionSpecification"/>。
        /// </summary>
        /// <param name="sql">SQL语句。</param>
        /// <param name="version">版本。</param>
        public VersionSpecification(string sql, DatabaseVersion version)
            : this(sql, -1, version)
        { }

        /// <summary>
        /// 初始化结构<see cref="VersionSpecification"/>。
        /// </summary>
        /// <param name="sql">SQL语句。</param>
        /// <param name="expectedRows">受影响的行数。</param>
        /// <param name="version">版本。</param>
        public VersionSpecification(string sql, int expectedRows, DatabaseVersion version)
        {
            Sql = sql;
            ExpectedRows = expectedRows;
            Version = version;
        }
    }
}
